Encapsulation, Operator Overloading, and Error Class Mechanisms in OCL

نویسندگان

  • Vincent Bertram
  • Bernhard Rumpe
  • Michael von Wenckstern
چکیده

Checking models for correctness or compatibility using standard formal modeling techniques such as OCL has merits in abstraction and compactness. However, it is inconvenient for developers, since there are no standard mechanisms how to handle large and complex OCL constraints. Therefore, this paper presents an approach how to split complex OCL constraints into multiple ones by defining helper functions and pack these into an OCL/P library with encapsulation mechanisms. Another drawback of using complex OCL constraints at present is the lack of descriptive and user-friendly error messages. Hence, this paper introduces an OCL extension that allows specifying error classes by synthesizing witnesses pointing directly to constraint violations. All approaches are shown on Component & Connector model examples, where OCL/P is used on the meta-level to verify backwards compatibility of interfaces.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Perceptual complexity of object oriented systems: a student view

ion Class Design Encapsulation, intra class complexity, proper placement of methods and attributes, choice of class protocol. Labels or names of attributes and methods. Number of attributes, etc. Use of global variables, polymorphism, or information hiding. CD.2 number of methods per class CD.6 class vs instance variables what to put in each CD.7 Polymorphism and information hiding CD.10 underl...

متن کامل

How to Express C++ Concepts in Fortran90

This paper summarizes techniques for emulating in Fortran90 the most important object-oriented concepts of C++: classes (including abstract data types, encapsulation and function overloading), inheritance and dynamic dispatching.

متن کامل

Salah Sadou

Based on an experiment using three languages under .NET, this paper argues that the semantic di erences between these languages regarding method overloading and overriding give rise to signi cant complexity and break encapsulation. We rst recall the various interpretations of overriding and overloading in object oriented languages through what we call language signatures. Then, we perform an ex...

متن کامل

Multiproperties Koen Vanderkimpen

Properties, which occur in C#, provide good support for features of objects with singular multiplicity and allow straightforward implementation and use of an object’s encapsulated state. If, however, used for features with a higher multiplicity, usually represented by collection objects, they fail to provide a natural approach to proper encapsulation of the one-to-many aspect of such characteri...

متن کامل

Towards a Uniform Deductive Object-Oriented Database Language

Deductive object-oriented databases are intended to integrate the deductive and object-oriented database techniques to combine the best of two approaches and to overcome their inherent shortcomings, with a number of deductive object-oriented database languages proposed. However, most of these languages are only structurally object-oriented. Important behaviorally object-oriented features such a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016